Improving AOP systems' evolvability by decoupling
نویسندگان
چکیده
[acyment,nicok,raltman,fasteasuain]@dc.uba.ar ABSTRACT AOP systems evolvability is severely affected by the tight coupling between aspects and base code. This paper identifies the advice fragility problem, originated in the advice’s need to access the application context while being oblivious to base code details. Proposed solutions to the pointcut fragility problem have generally put forward various mechanisms that decouple base code from aspects using some intermediate abstraction layer. We build on top of those proposals, introducing the concept of modelbased aspects, and present a new version of our semantic pointcut framework, constituting a practical approach to address the advice fragility problem.
منابع مشابه
On the need for setpoints
Pointcuts are currently defined in most aspect-oriented frameworks either by way of laborious enumeration or by referring to some structural property of the code. This coarse way of quantifying reduces program evolvability, supposedly one of the advantages of AOP. We believe that a strong decoupling of concerns will only be achieved when pointcut definition mechanisms are provided that rely on ...
متن کاملDesign-Based Pointcuts Robustness Against Software Evolution
Aspect-Oriented Programming (AOP) is a powerful technique to better modularize object-oriented programs by introducing crosscutting concerns in a safe and noninvasive way. Unfortunately, most of the current join point models are too coupled with the application code. This fact harms the evolvability of the program, hinders the concerns selection and reduces the aspect reusability. To overcome t...
متن کاملAOSD and Reflection: Benefits and Drawbacks to Software Evolution
Following last two years’ RAM-SE (Reflection, AOP and Meta-Data for Software Evolution) workshop at the ECOOP conference, the RAM-SE 2006 workshop was a successful and popular event. As its name implies, the workshop’s focus was on the application of reflective, aspect-oriented and data-mining techniques to the broad field of software evolution. Topics and discussions at the workshop included m...
متن کاملXE (eXtreme Editor) - Tool Support for Evolution in Aspect-Oriented Programming
In spite of themodularizationbene!ts supportedby theAspect-Orientedprogrammingparadigm, di"erent usability issues have hindered its adoption.#e decoupling between aspect de!nitions and base code, and the compile-time weaving mechanism adopted by di"erent AOP languages, require developers to manage the consistency between base code and aspect code themselves.#ese mechanisms create opportunities ...
متن کاملExperiences in evolvability research
Many technical products and systems nowadays have functionality that is largely determined by software, so called software-intensive systems. The requirements for software-intensive systems change over time, causing the system to evolve. We define evolvability as the ability of the system to respond to such changes. Improving evolvability of zsoftware-intensive systems was the goal of the Darwi...
متن کامل